Glossary

API. Applications Programming Interface. The programming interface used by developers to support a particular technology.

Applet. A small program written in the Java programming language. Applets can be executed from html instructions in a Java-enabled Web browser.

CALib. A C library developed at Apple to support building container applications. It is obsolete, having been replaced by the Claris Container Library, ODIA, and other libraries.

CILabs. Component Integration Labs. A not-for-profit consortium formed to manage OpenDoc as a open standard for component technology. CILabs will have programs for validation of OpenDoc implementations, for public relations, and so forth. Further information is available at the CILabs web site.

Claris Container Library. A library of C functions developed by Claris to support creating container applications. It is a modified and extended version of CALib, which Apple originally developed and shipped with earlier versions of OpenDoc.

Code Fragment Manager (CFM) .Apple technology for creating shared libraries. It was developed initially for PowerPC processors, and has been ported to 68K processors using CFM-68k.

COM. Microsoft's Component Object Model is the component run-time system upon which OLE is based. It provides a language-neutral way to package reusable libraries, but, unlike SOM, it does not support full object-oriented inheritance. COM is not based on a CORBA-compliant IDL.

Component. A reusuable piece of functionality. A component can be an application, an OpenDoc part, or a shared library.

Component Glue. OpenDoc technology that allows other types of components to be used where OpenDoc parts are normally expected. This allows interoperability between OpenDoc and technologies such as OLE, Java, and Netscape plug-ins.

Container. A container can embed OpenDoc parts inside it. Containers can be parts or applications.

Container application. An application that can have OpenDoc parts embedded inside. These behave for the most part like a normal application, with the capability of opening multiple-documents inside one application. They have a "File" menu with items like "Quit", as opposed to an OpenDoc part that has a "Document"menu with no "Quit" item. Examples of container applications that should be released in 1996 include RagTime and ClarisWorks.

Container part. An OpenDoc part that can have other parts embedded inside. This is a full-featured OpenDoc part that can also be embedded inside other containers.

CodeWarrior. A popular integrated development environment from Metrowerks, used to create applications and part editors using C, C++, and other languages.

CORBA. Common Object Request Broker Architecture. An open, cross-platform standard for distributed object computing, managed by the Object Management Group (OMG).

Cyberdog. A suite of APIs and associated OpenDoc parts to provide access to Internet-related services.

Document Shell. The shell is a shared library that handles certain application-level tasks, and provides a shared address space for all the parts in a single OpenDoc document. An instance of the shell is created whenever an OpenDoc document is opened. The shell dispatches events to part editors.

Editors folder. The folder where part editors and views must be located. Each mounted volume can have an Editors folder. With OpenDoc 1.0.4, the Editors folder must be located in the System Folder for the boot drive, but must be located at the root level for any other volume.

Embedding. OpenDoc's compound document architecture lets you embed parts inside other container parts or container applications.

Extension. An OpenDoc object that extends the programming interface of another OpenDoc object, such as a part editor. The extension mechanism allows you to add additional APIs for a part editor, beyond the standard set defined for all OpenDoc parts. Extensions are often used for inter-part communication.

Framework. A collection of classes that can be used to help build programs in a specific problem-domain. A good framework provides default behavior, so a program based upon that framework will do the right thing in many cases without the developer having to write any code. A good framework is easy to customize, so the programmer can easily change the behavior of programs based on the framework. ODF is an excellent framework for creating OpenDoc part editors.

html. HyperText Markup Language. The page description language used for Internet Web pages.

IDL. Interface Definition Language. The CORBA-compliant specification for the interface to a class library. An IDL specification for a class is somewhat similar to a C++ class declaration, but the syntax details are different.

Java. A new applications programming language developed by Sun Microsystems. Java is similar to C++ in many ways, but s generally easier to learn and easier to use. We believe that C++ is a very good systems programming language, while Java is in many ways better as an applications programming language. You can use Java to create either stand-alone applications or "applets"which can be executed inside Web browsers like Netscape Navigator and inside OpenDoc containers using special component glue.

Java Beans. A new compound-document technology on the horizon being developed by Sun Microsystems. Java Beans will support embedding and inter-object communication for Java applets. IBM and others are working on technologies to support interoperability between OpenDoc and Java Beans. The first version of Java Beans should be released in the Fall of 1996.

KickStart. The Apple initiative that provides free Macintosh OpenDoc part editors and viewers for common data types.

Leaf Part. This is an OpenDoc part which can be embedded inside an OpenDoc container, but which cannot embed other parts inside itself. Examples of leaf parts include the OpenDoc and ODF Clock samples, or the KickStart parts that can play a QuickTime movie or display a QuickDraw 3D metafile.

Linking. A one-way mechanism for transferring data between OpenDoc parts. Data is transferred from a link source to a link destination. An end-user can create a link by selecting data in the source part and choosing "Copy"from the "Edit" menu. The user can then activate the destination part, and choose "Paste As..." from the "Edit" menu to create the link. This will only work in both the source and destination parts have been specifically programmed to support linking. Many OpenDoc parts do not support linking. An example of a part that does support linking is ODFDraw.

Link Source. The portion of a part's content that represents the source of a link. A part can support multiple link sources.

Link Destination. The portion of a part's content that represents the destination of a link. A part can support multiple link destinations.

Mac OS 8. Apple's next generation operating system, formerly code-named Copland. Details can be found on Mac OS 8 web site.

MPW. The Macintosh Programmers Workshop is Apple's primary development environment.

Name space. An OpenDoc object used to map data types to values. Name spaces provide a general purpose registry mechanism.

ODF. OpenDoc Development Framework. Apple's cross-platform C++ framework for developing OpenDoc parts for both the Macintosh and Windows platforms.

ODIA. OpenDoc Internet Adapter. A C library being developed by Apple's OpenDoc team to support building container applications.

OLE. Microsoft's Object Linking and Embedding technology, which provides a compound document technology supported by applications such as the Microsoft Office Suite. See the OLE web page for more information.

OpenDoc. A multi-platform technology implemented as a set of shared libraries, that uses component software to facilitate the construction and sharing of compound documents. Apple's OpenDoc Web site provides the latest information about OpenDoc on the Mac.

OpenDoc APIs. The programming interface to OpenDoc is specified in a number of SOM IDL files. One way to write a new part editor is to simply subclass (in SOM) the OpenDoc class ODPart, and then override the 60 required functions.

OSA. Apple's Open Scripting Architecture, which supports a variety of scripting languages, including AppleScript, Frontier, and others. OSA languages use Apple Events as a process-to-process communications technology.

Part Editor. The editor allows the user to create and edit the data. Editors are often commercial products that are sold, as opposed to part viewers that are usually freely distributed. When a developer creates a new part editor or viewer, the result is a SOM shared library that must be located in, or aliased to, the Editors folder.

Part Viewer. A viewer does not have the capability to edit the data or save changes. A viewer may be freely distributed so that users can at least see the contents of a part.

RAD. Rapid Applications Development. RAD tools allow you to build applications or parts using simple graphical tools and scripting languages, instead of having to do sophisticated C or C++ programming. Examples of RAD tools that are promised to be able to build OpenDoc parts in the future include Oracle Power Objects, Apple's Denali, FaceSpan, and AppWare.

Script. A set of instructions that can be executed to drive a scriptable application or OpenDoc part. Scripting in OpenDoc is based on OSA.

SDK. Software Development Kit. The APIs, libraries, and tools necessary for software development.

Session. An OpenDoc session object is created for each document when it is opened. The session object maintains relationships with many other OpenDoc objects, including the name-space manager, link manager, event dispatcher, and many others.

SOM. IBM's System Object Model is a component run-time system that is CORBA-compliant. It allows you to create language-neutral libraries of objects, as described in Christina Lau's book. Every OpenDoc part editor is really a SOM library. SOM for the Mac OS is implemented on top of Apple's Code Fragment Manager (CFM).

OverviewHands-OnTechnologies
ComponentsToolsCase Studies

Home
©1996 Apple Computer, Inc.

Last modified by DAW on 11-July-96